#! /bin/bash
export LANG=zh_CN.UTF-8
HIVE_HOME=/usr/bin/hive

${HIVE_HOME} -S -e "
create database if not exists edu_ods;

use database edu_ods
drop table  if exists edu_ods.ods_customer_appeal;
CREATE TABLE edu_ods.ods_customer_appeal
(
    id                             int,
    customer_relationship_first_id int COMMENT '第一条客户关系id',
    employee_id                    int COMMENT '申诉人',
    employee_name                  VARCHAR(64) COMMENT '申诉人姓名',
    employee_department_id         int COMMENT '申诉人部门',
    employee_tdepart_id            int COMMENT '申诉人所属部门',
    appeal_status                  int COMMENT '申诉状态，0:待稽核 1:无效 2：有效',
    audit_id                       int COMMENT '稽核人id',
    audit_name                     VARCHAR(255) COMMENT '稽核人姓名',
    audit_department_id            int COMMENT '稽核人所在部门',
    audit_department_name          VARCHAR(255) COMMENT '稽核人部门名称',
    audit_date_time                DATE COMMENT '稽核时间',
    create_date_time               DATE COMMENT '创建时间（申诉时间）',
    update_date_time               TIMESTAMP COMMENT '更新时间',
    deleted                        VARCHAR(255) COMMENT '删除标志位',
    tenant                         int
)
    COMMENT '线索申诉信息表'
    row format delimited fields terminated by '\t'
    stored as orc
    tblproperties ('orc.compress' = 'snappy');

drop table if exists edu_ods.ods_employee;

CREATE TABLE edu_ods.ods_employee
(
    id                    int,

    email                 VARCHAR(64) COMMENT '公司邮箱，OA登录账号',
    real_name             VARCHAR(32) COMMENT '员工的真实姓名',
    phone                 VARCHAR(32) COMMENT '手机号，目前还没有使用；隐私问题OA接口没有提供这个属性，',
    department_id         VARCHAR(64) COMMENT 'OA中的部门编号，有负值',
    department_name       VARCHAR(64) COMMENT 'OA中的部门名',
    remote_login          string COMMENT '员工是否可以远程登录',
    job_number            VARCHAR(64) COMMENT '员工工号',
    cross_school          string COMMENT '是否有跨校区权限',
    last_login_date       DATE COMMENT '最后登录日期',
    creator               int COMMENT '创建人',
    create_date_time      DATE COMMENT '创建时间',
    update_date_time      TIMESTAMP COMMENT '最后更新时间',
    deleted               string COMMENT '是否被删除（禁用）',
    scrm_department_id int COMMENT 'edu_ods内部部门id',
    leave_office          string COMMENT '离职状态',
    leave_office_time     DATE COMMENT '离职时间',
    reinstated_time       DATE COMMENT '复职时间',
    superior_leaders_id   int COMMENT '上级领导ID',
    tdepart_id            int COMMENT '直属部门',
    tenant                int,
    ems_user_name         VARCHAR(32)
)
    COMMENT '员工信息表'
    row format delimited fields terminated by '\t'
    stored as orc
    tblproperties ('orc.compress' = 'snappy');


drop table if exists edu_ods.ods_customer;
CREATE TABLE edu_ods.ods_customer
(
    id                       int,
    customer_relationship_id int COMMENT '当前意向id',
    create_date_time         TIMESTAMP COMMENT '创建时间',
    update_date_time         TIMESTAMP COMMENT '最后更新时间',
    deleted                  string COMMENT '是否被删除（禁用）',
    name                     VARCHAR(128) COMMENT '姓名',
    idcard                   VARCHAR(24) COMMENT '身份证号',
    birth_year               int COMMENT '出生年份',
    gender                   VARCHAR(8) COMMENT '性别',
    phone                    VARCHAR(24) COMMENT '手机号',
    wechat                   VARCHAR(32) COMMENT '微信',
    qq                       VARCHAR(32) COMMENT 'qq号',
    email                    VARCHAR(56) COMMENT '邮箱',
    area                     VARCHAR(128) COMMENT '所在区域',
    leave_school_date        DATE COMMENT '离校时间',
    graduation_date          DATE COMMENT '毕业时间',
    bxg_student_id           VARCHAR(64) COMMENT '博学谷学员ID，可能未关联到，不存在',
    creator                  int COMMENT '创建人ID',
    origin_type              VARCHAR(32) COMMENT '数据来源',
    origin_channel           VARCHAR(32) COMMENT '来源渠道',
    tenant                   int,
    md_id                    int COMMENT '中台id'
)
    COMMENT '客户静态信息表'
    row format delimited fields terminated by '\t'
    stored as orc
    tblproperties ('orc.compress' = 'snappy');

drop table  if exists edu_ods.ods_customer_relationship;



CREATE TABLE edu_ods.ods_customer_relationship
(
    id                             int,

    create_date_time               DATE,
    update_date_time               TIMESTAMP COMMENT '最后更新时间',
    deleted                        string COMMENT '是否被删除（禁用）',
    customer_id                    int COMMENT '所属客户id',
    first_id                       int COMMENT '第一条客户关系id',
    belonger                       int COMMENT '归属人',
    belonger_name                  VARCHAR(10) COMMENT '归属人姓名',
    initial_belonger               int COMMENT '初始归属人',
    distribution_handler           int COMMENT '分配处理人',
    business_scrm_department_id int COMMENT '归属部门',
    last_visit_time                DATE COMMENT '最后回访时间',
    next_visit_time                DATE COMMENT '下次回访时间',
    origin_type                    VARCHAR(32) COMMENT '数据来源',
    itcast_school_id               int COMMENT '校区Id',
    itcast_subject_id              int COMMENT '学科Id',
    intention_study_type           VARCHAR(32) COMMENT '意向学习方式',
    anticipat_signup_date          DATE COMMENT '预计报名时间',
    level                          VARCHAR(8) COMMENT '客户级别',
    creator                        int COMMENT '创建人',
    current_creator                int COMMENT '当前创建人：初始==创建人，当在公海拉回时为 拉回人',
    creator_name                   VARCHAR(32) COMMENT '创建者姓名',
    origin_channel                 VARCHAR(32) COMMENT '来源渠道',
    COMMENT                        VARCHAR(256),
    first_customer_clue_id         int COMMENT '第一条线索id',
    last_customer_clue_id          int COMMENT '最后一条线索id',
    process_state                  VARCHAR(32) COMMENT '处理状态',
    process_time                   DATE COMMENT '处理状态变动时间',
    payment_state                  VARCHAR(32) COMMENT '支付状态',
    payment_time                   DATE COMMENT '支付状态变动时间',
    signup_state                   VARCHAR(32) COMMENT '报名状态',
    signup_time                    DATE COMMENT '报名时间',
    notice_state                      VARCHAR(32) COMMENT '通知状态',
    notice_time                       DATE COMMENT '通知状态变动时间',
    lock_state                     string COMMENT '锁定状态',
    lock_time                      DATE COMMENT '锁定状态修改时间',
    itcast_clazz_id                int COMMENT '所属ems班级id',
    itcast_clazz_time              DATE COMMENT '报班时间',
    payment_url                    VARCHAR(1024) COMMENT '付款链接',
    payment_url_time               DATE COMMENT '支付链接生成时间',
    ems_student_id                 int COMMENT 'ems的学生id',
    delete_reason                  VARCHAR(64) COMMENT '删除原因',
    deleter                        int COMMENT '删除人',
    deleter_name                   VARCHAR(32) COMMENT '删除人姓名',
    delete_time                    DATE COMMENT '删除时间',
    course_id                      int COMMENT '课程ID',
    course_name                    VARCHAR(64) COMMENT '课程名称',
    delete_comment                 VARCHAR(255) COMMENT '删除原因说明',
    close_state                    VARCHAR(32) COMMENT '关闭装填',
    close_time                     DATE COMMENT '关闭状态变动时间',
    appeal_id                      int COMMENT '申诉id',
    tenant                         int COMMENT '租户',
    total_fee                      DECIMAL(19) COMMENT '报名费总金额',
    belonged                       int COMMENT '小周期归属人',
    belonged_time                  DATE COMMENT '归属时间',
    belonger_time                  DATE COMMENT '归属时间',
    transfer                       int COMMENT '转移人',
    transfer_time                  DATE COMMENT '转移时间',
    follow_type                    int COMMENT '分配类型，0-自动分配，1-手动分配，2-自动转移，3-手动单个转移，4-手动批量转移，5-公海领取',
    transfer_bxg_oa_account        VARCHAR(64) COMMENT '转移到博学谷归属人OA账号',
    transfer_bxg_belonger_name     VARCHAR(64) COMMENT '转移到博学谷归属人OA姓名'

)
    COMMENT '客户意向表'
    row format delimited fields terminated by '\t'
    stored as orc
    tblproperties ('orc.compress' = 'snappy');

drop table  if exists edu_ods.ods_customer_clue;

CREATE TABLE edu_ods.ods_customer_clue
(
    id                       int,
    create_date_time         TIMESTAMP COMMENT '创建时间',
    update_date_time         TIMESTAMP COMMENT '最后更新时间',
    deleted                  string COMMENT '是否被删除（禁用）',
    customer_id              int COMMENT '客户id',
    customer_relationship_id int COMMENT '客户关系id',
    session_id               VARCHAR(48) COMMENT '七陌会话id',
    sid                      VARCHAR(48) COMMENT '访客id',
    status                   VARCHAR(16) COMMENT '状态（undeal待领取 deal 已领取 finish 已关闭 changePeer 已流转）',
    `user`                   VARCHAR(16) COMMENT '所属坐席',
    create_time              DATE COMMENT '七陌创建时间',
    platform                 VARCHAR(16) COMMENT '平台来源 （pc-网站咨询|wap-wap咨询|sdk-app咨询|weixin-微信咨询）',
    s_name                   VARCHAR(32) COMMENT '用户名称',
    seo_source               VARCHAR(255) COMMENT '搜索来源',
    seo_keywords             VARCHAR(255) COMMENT '关键字',
    ip                       VARCHAR(48) COMMENT 'IP地址',
    referrer                 string COMMENT '上级来源页面',
    from_url                 string COMMENT '会话来源页面',
    landing_page_url         string COMMENT '访客着陆页面',
    url_title                VARCHAR(1024) COMMENT '咨询页面title',
    to_peer                  VARCHAR(255) COMMENT '所属技能组',
    manual_time              DATE COMMENT '人工开始时间',
    begin_time               DATE COMMENT '坐席领取时间 ',
    reply_msg_count          int COMMENT '客服回复消息数',
    total_msg_count          int COMMENT '消息总数',
    msg_count                int COMMENT '客户发送消息数',
    comment                  VARCHAR(1024) COMMENT '备注',
    finish_reason            VARCHAR(255) COMMENT '结束类型',
    finish_user              VARCHAR(32) COMMENT '结束坐席',
    end_time                 DATE COMMENT '会话结束时间',
    platform_description     VARCHAR(255) COMMENT '客户平台信息',
    browser_name             VARCHAR(255) COMMENT '浏览器名称',
    os_info                  VARCHAR(255) COMMENT '系统名称',
    area                     VARCHAR(255) COMMENT '区域',
    country                  VARCHAR(16) COMMENT '所在国家',
    province                 VARCHAR(16) COMMENT '省',
    city                     VARCHAR(255) COMMENT '城市',
    creator                  int COMMENT '创建人',
    name                     VARCHAR(64) COMMENT '客户姓名',
    idcard                   VARCHAR(24) COMMENT '身份证号',
    phone                    VARCHAR(24) COMMENT '手机号',
    itcast_school_id         int COMMENT '校区Id',
    itcast_school            VARCHAR(128) COMMENT '校区',
    itcast_subject_id        int COMMENT '学科Id',
    itcast_subject           VARCHAR(128) COMMENT '学科',
    wechat                   VARCHAR(32) COMMENT '微信',
    qq                       VARCHAR(32) COMMENT 'qq号',
    email                    VARCHAR(56) COMMENT '邮箱',
    gender                   VARCHAR(8) COMMENT '性别',
    level                    VARCHAR(8) COMMENT '客户级别',
    origin_type              VARCHAR(32) COMMENT '数据来源渠道',
    information_way          VARCHAR(32) COMMENT '资讯方式',
    working_years            DATE COMMENT '开始工作时间',
    technical_directions     VARCHAR(255) COMMENT '技术方向',
    customer_state           VARCHAR(32) COMMENT '当前客户状态',
    valid                    string COMMENT '该线索是否是网资有效线索',
    anticipat_signup_date    DATE COMMENT '预计报名时间',
    clue_state               VARCHAR(32) COMMENT '线索状态',
    scrm_department_id     int COMMENT 'scrm内部部门id',
    superior_url             string COMMENT '诸葛获取上级页面URL',
    superior_source          VARCHAR(1024) COMMENT '诸葛获取上级页面URL标题',
    landing_url              string COMMENT '诸葛获取着陆页面URL',
    landing_source           VARCHAR(1024) COMMENT '诸葛获取着陆页面URL来源',
    info_url                 string COMMENT '诸葛获取留咨页URL',
    info_source              VARCHAR(255) COMMENT '诸葛获取留咨页URL标题',
    origin_channel           VARCHAR(32) COMMENT '投放渠道',
    course_id                int,
    course_name              VARCHAR(255),
    zhuge_session_id         VARCHAR(500),
    is_repeat                int COMMENT '是否重复线索(手机号维度) 0:正常 1：重复',
    tenant                   int COMMENT '租户id',
    activity_id              VARCHAR(16) COMMENT '活动id',
    activity_name            VARCHAR(64) COMMENT '活动名称',
    follow_type              int COMMENT '分配类型，0-自动分配，1-手动分配，2-自动转移，3-手动单个转移，4-手动批量转移，5-公海领取',
    shunt_mode_id            int COMMENT '匹配到的技能组id',
    shunt_employee_group_id  int COMMENT '所属分流员工组'
)
    COMMENT '客户线索表'
    row format delimited fields terminated by '\t'
    stored as orc
    tblproperties ('orc.compress' = 'snappy');


drop table if exists edu_ods.ods_itcast_clazz;
CREATE TABLE edu_ods.ods_itcast_clazz
(
    id                  int COMMENT 'ems课程id(非自增)',

    create_date_time    DATE COMMENT '创建时间',
    update_date_time    TIMESTAMP COMMENT '最后更新时间',
    deleted             string COMMENT '是否被删除（禁用）',
    itcast_school_id    VARCHAR(32) COMMENT 'ems校区ID',
    itcast_school_name  VARCHAR(32) COMMENT 'ems校区名称',
    itcast_subject_id   VARCHAR(32) COMMENT 'ems学科ID',
    itcast_subject_name VARCHAR(32) COMMENT 'ems学科名称',
    itcast_brand        VARCHAR(32) COMMENT 'ems品牌',
    clazz_type_state    VARCHAR(32) COMMENT '班级类型状态',
    clazz_type_name     VARCHAR(32) COMMENT '班级类型名称',
    teaching_mode       VARCHAR(32) COMMENT '授课模式',
    start_time          DATE COMMENT '开班时间',
    end_time            DATE COMMENT '毕业时间',
    comment             VARCHAR(255) COMMENT '备注',
    detail              VARCHAR(32) COMMENT '详情(比如：27期)',
    uncertain           string COMMENT '待定班(0:否,1:是)',
    tenant              int
)
    COMMENT '班级信息表'
    row format delimited fields terminated by '\t'
    stored as orc
    tblproperties ('orc.compress' = 'snappy');



drop table if exists edu_ods.ods_itcast_school;
CREATE TABLE edu_ods.ods_itcast_school
(
    id               int,

    create_date_time DATE COMMENT '创建时间',
    update_date_time TIMESTAMP COMMENT '最后更新时间',
    deleted          string COMMENT '是否被删除（禁用）',
    name             VARCHAR(32) COMMENT '校区名称',
    code             VARCHAR(32),
    tenant           int
)
    COMMENT '校区信息表'
    row format delimited fields terminated by '\t'
    stored as orc
    tblproperties ('orc.compress' = 'snappy');


drop table if exists edu_ods.ods_itcast_subject;
CREATE TABLE edu_ods.ods_itcast_subject
(
    id               int,

    create_date_time DATE COMMENT '创建时间',
    update_date_time TIMESTAMP COMMENT '最后更新时间',
    deleted          string COMMENT '是否被删除（禁用）',
    name             VARCHAR(32) COMMENT '学科名称',
    code             VARCHAR(32),
    tenant           int
)
    COMMENT '学科信息表'
    row format delimited fields terminated by '\t'
    stored as orc
    tblproperties ('orc.compress' = 'snappy');


drop table if exists edu_ods.ods_department;
CREATE TABLE edu_ods.ods_department
(
    id               int COMMENT '部门id',

    name             VARCHAR(255) COMMENT '部门名称',
    parent_id        int COMMENT '父部门id',
    create_date_time DATE COMMENT '创建时间',
    update_date_time DATE COMMENT '更新时间',
    deleted          string COMMENT '删除标志',
    id_path          VARCHAR(1000) COMMENT '编码全路径',
    tdepart_code     int COMMENT '直属部门',
    creator          VARCHAR(32) COMMENT '创建者',
    depart_level     int COMMENT '部门层级',
    depart_sign      int COMMENT '部门标志，暂时默认1',
    depart_line      int COMMENT '业务线，存储业务线编码',
    depart_sort      int COMMENT '排序字段',
    disable_flag     int COMMENT '禁用标志',
    tenant           int
)
    COMMENT '员工部门表'
    row format delimited fields terminated by '\t'
    stored as orc
    tblproperties ('orc.compress' = 'snappy');
"
